﻿using System;
using Framework.ManejoExcepciones;

namespace Framework.AccesoDatos
{
	internal class SentenciaSQL
	{
		// Fields
		private SQL.TipoSentenciaSQL _eTipoSentenciaSQL;
		private string _sAlias;
		private string _sSentenciaSQL;

		// Methods
		public SentenciaSQL(string psSentenciaSQL, string psAlias, SQL.TipoSentenciaSQL peTipoSentenciaSQL)
		{
			ManejadorExcepciones excepciones = new ManejadorExcepciones(this, "Constructor por par\x00e1metros");
			try
			{
				_sSentenciaSQL = psSentenciaSQL.Replace("'", "\x00b4");
				_sSentenciaSQL = _sSentenciaSQL.Replace("\x00ac", "'");
				_sAlias = psAlias;
				_eTipoSentenciaSQL = peTipoSentenciaSQL;
			}
			catch (Exception exception)
			{
				excepciones.LanzarExcepcion("Catch", exception.Message, "");
			}
		}

		// Properties
		public string Alias
		{
			get
			{
				return _sAlias;
			}
		}

		public string Sentencia
		{
			get
			{
				return _sSentenciaSQL;
			}
		}

		public SQL.TipoSentenciaSQL TipoSentenciaSQL
		{
			get
			{
				return _eTipoSentenciaSQL;
			}
		}

	}
}
